@echo off
chcp 65001 >nul
title 一键项目设置工具 - Builder.Alyr.Net

:MAIN_MENU
cls
echo.
echo ================================================
echo    🚀 一键项目设置工具 - Builder.Alyr.Net
echo ================================================
echo    版权: © 2020-2025 ALYR.NET
echo ================================================
echo.
echo 📋 主菜单:
echo [1] 🚀 开始一键项目设置
echo [2] 📖 查看详细说明
echo [3] 🔍 检查系统环境
echo [4] 📋 查看支持的技术栈
echo [5] ❌ 退出
echo.
set /p choice=请选择 (1-5): 

if "%choice%"=="1" goto START_SETUP
if "%choice%"=="2" goto SHOW_DETAILS
if "%choice%"=="3" goto CHECK_ENV
if "%choice%"=="4" goto SHOW_TECH_STACK
if "%choice%"=="5" goto EXIT
echo 无效选项！
pause
goto MAIN_MENU

:START_SETUP
echo.
echo 🚀 启动一键项目设置...
echo ================================================
echo 正在执行 12 步骤项目设置流程：
echo.
echo 步骤 1: 环境检测和分析
echo 步骤 2: 安装基础依赖
echo 步骤 3: 选择项目架构类型
echo 步骤 4: 选择前端开发语言和框架
echo 步骤 5: 选择后端开发语言和框架
echo 步骤 6: 选择UI组件库和工具
echo 步骤 7: 选择数据库和ORM
echo 步骤 8: 智能安装缺失依赖
echo 步骤 9: 配置后端前缀名称
echo 步骤 10: 配置项目规则文件
echo 步骤 11: 系统自检
echo 步骤 12: 启动智能体检测工具
echo.
echo 正在启动...
cd /d "%~dp0"
node utils/one-click-setup.js
pause
goto MAIN_MENU

:SHOW_DETAILS
cls
echo.
echo 📖 详细说明
echo ================================================
echo.
echo 🎯 功能介绍:
echo   • 自动检测并配置项目环境
echo   • 智能选择技术栈组合
echo   • 安装必要的依赖包
echo   • 配置代码规范和项目结构
echo   • 启动智能体检测工具
echo.
echo ⏱️ 预计时间:
echo   • 环境检测: 1-2分钟
echo   • 依赖安装: 3-5分钟
echo   • 配置设置: 2-3分钟
echo   • 总计: 6-10分钟
echo.
echo 🔧 12个设置步骤:
echo   1. 环境检测和分析 - 检测Node.js、npm、Git等
echo   2. 安装基础依赖 - 安装chalk、inquirer等基础包
echo   3. 选择项目架构 - Web应用、移动应用、桌面应用
echo   4. 选择前端框架 - React、Vue、Angular等
echo   5. 选择后端框架 - Express、Nest.js、Koa等
echo   6. 选择UI组件库 - Ant Design、Material-UI等
echo   7. 选择数据库 - MySQL、PostgreSQL、MongoDB等
echo   8. 智能安装依赖 - 根据选择自动安装相关依赖
echo   9. 配置后端前缀 - 设置API文件命名前缀
echo   10. 配置项目规则 - 生成代码规范文件
echo   11. 系统自检 - 验证配置完整性
echo   12. 启动智能体 - 激活代码检测工具
echo.
pause
goto MAIN_MENU

:CHECK_ENV
echo.
echo 🔍 检查系统环境...
echo ================================================
echo.
echo 正在检查 Node.js...
node --version 2>nul
if %errorlevel% neq 0 (
    echo ❌ Node.js 未安装或未添加到PATH
    echo 请访问 https://nodejs.org 下载安装
) else (
    echo ✅ Node.js 已安装
)
echo.
echo 正在检查 npm...
npm --version 2>nul
if %errorlevel% neq 0 (
    echo ❌ npm 未安装或未添加到PATH
) else (
    echo ✅ npm 已安装
)
echo.
echo 正在检查 Git...
git --version 2>nul
if %errorlevel% neq 0 (
    echo ❌ Git 未安装或未添加到PATH
    echo 请访问 https://git-scm.com 下载安装
) else (
    echo ✅ Git 已安装
)
echo.
echo 正在检查项目文件...
cd /d "%~dp0"
if exist "utils\one-click-setup.js" (
    echo ✅ 一键设置脚本存在
) else (
    echo ❌ 一键设置脚本不存在
)
if exist "package.json" (
    echo ✅ package.json 存在
) else (
    echo ⚠️  package.json 不存在（将在设置过程中创建）
)
echo.
pause
goto MAIN_MENU

:SHOW_TECH_STACK
cls
echo.
echo 📋 支持的技术栈
echo ================================================
echo.
echo 🎨 前端框架:
echo   • React - 流行的组件化框架
echo   • Vue 3 - 渐进式框架
echo   • Angular - 企业级框架
echo   • Next.js - React全栈框架
echo   • Nuxt.js - Vue全栈框架
echo   • Svelte - 编译时优化框架
echo   • Vanilla JS - 原生JavaScript
echo.
echo 🔧 后端框架:
echo   • Express - 简洁的Node.js框架
echo   • Nest.js - 企业级Node.js框架
echo   • Koa - 轻量级Node.js框架
echo   • Fastify - 高性能Node.js框架
echo.
echo 🎨 UI组件库:
echo   • Ant Design - React企业级UI库
echo   • Material-UI - React Material Design
echo   • Element Plus - Vue 3 UI库
echo   • Vuetify - Vue Material Design
echo   • Chakra UI - React简洁UI库
echo.
echo 🗄️ 数据库:
echo   • MySQL - 关系型数据库
echo   • PostgreSQL - 高级关系型数据库
echo   • MongoDB - 文档型数据库
echo   • SQLite - 轻量级数据库
echo.
echo 🔧 开发工具:
echo   • TypeScript - 类型安全
echo   • ESLint - 代码检查
echo   • Prettier - 代码格式化
echo   • Jest - 单元测试
echo.
pause
goto MAIN_MENU

:EXIT
echo.
echo 👋 感谢使用一键项目设置工具！
echo 版权所有：© 2020-2025 ALYR.NET
echo.
pause
exit